package com.tedu.startbooksstore.service;

import com.tedu.startbooksstore.pojo.dto.UserLoginDTO;
import com.tedu.startbooksstore.pojo.dto.UserRegDTO;
import com.tedu.startbooksstore.pojo.dto.UserUpdateDTO;
import com.tedu.startbooksstore.pojo.vo.UserListItemVO;

import java.util.List;

/**
 * 用户业务逻辑层
 */
public interface UserService {

    /**
     * 用户注册
     * @param userRegDTO  : 需要注册的用户
     */
    void register(UserRegDTO userRegDTO);

    /**
     * 用户登录
     * @param userLoginDTO  : 需要登录的用户
     */
    void login(UserLoginDTO userLoginDTO);

    /**
     * 通过ID查询用户信息
     * @param id : 用户ID
     * @return : 用户信息
     */
    UserListItemVO selectById(Long id);

    /**
     *  查询用户列表
     * @return : 用户列表
     */
    List<UserListItemVO> list();

    /**
     * 通过ID修改用户信息
     * @param userUpdateDTO : 需要修改的用户信息
     */
    void updateById(UserUpdateDTO userUpdateDTO);
}
